package com.gopay.common.domain.cbrmb.internationalcard;

import com.gopay.common.domain.BaseEntity;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

/**
 *
 * @ClassName CbRmbIntlCardDishonor
 * @Description 商户拒付订单辅助表
 * @author b.zou
 * @date 2017-11-1
 */
@Entity
@Table(name = "CB_RMB_INTLCARD_DISHONOR")
public class CbRmbIntlCardDishonor extends BaseEntity {
    private static final long serialVersionUID = 3706033720223660021L;
    /**
     * 编号
     */
    private Long id;
    /**
     * 上传时间
     */
    private Date createTime;
    /**
     * 交易时间
     */
    private Date transTime;
    /**
     * 拒付时间
     */
    private Date dishonorTime;
    /**
     * 乾汇订单号
     */
    private String masapayOrderId;
    /**
     * 商户订单号(国付宝交易号)
     */
    private String gopayOrderId;
    /**
     * 交易金额
     */
    private BigDecimal tranAmt;
    /**
     * 交易币种
     */
    private String tranCurrency;
    /**
     * 拒付金额
     */
    private BigDecimal dishonorAmt;
    /**
     * 拒付币种
     */
    private String dishonorCurrency;
    /**
     * 服务费金额
     */
    private BigDecimal orderFeeAmt;
    /**
     * 服务费币种
     */
    private String orderFeeCurrency;
    /**
     * 申诉手续费金额
     */
    private BigDecimal appealFeeAmt;
    /**
     * 申诉手续费币种
     */
    private String appealFeeCurrency;
    /**
     * 申诉手续费状态
     */
    private String appealFeeStatus;
    /**
     * 申诉状态
     */
    private String appealStatus;
    /**
     * 汇率
     */
    private BigDecimal exchangeRate;
    /**
     * 上游资金变动额
     */
    private BigDecimal upperFundChangeAmt;
    /**
     * 上游资金变动币种
     */
    private String upperFundChangeCurrency;
    /**
     * 上游资金状态
     */
    private String upperFundStatus;
    /**
     * 资金状态
     */
    private String fundStatus;
    /**
     * 业务类型
     */
    private String tranType;
    /**
     * 拒付原因
     */
    private String dishonorReason;
    /**
     * 拒付/调单订单号
     */
    private String dishonorOrderId;
    /**
     * 发起拒付通知标识:0-未查看；1-已查看
     */
    private String dishonorNotify;
    /**
     * 拒付扣款(冻结)失败通知标识:0-未查看；1-已查看
     */
    private String dishonorFailNotify;

    /**
     * 拒付清算金额
     */
    private BigDecimal dishonorSettleAmt;

    @Id
    @SequenceGenerator(name = "sq", sequenceName = "CB_RMB_INTLCARD_DISHONOR_SEQ")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sq")
    @Column(name = "ID", unique = true, nullable = false)
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Column(name = "CREATE_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Column(name = "TRANS_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getTransTime() {
        return transTime;
    }

    public void setTransTime(Date transTime) {
        this.transTime = transTime;
    }

    @Column(name = "DISHONOR_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getDishonorTime() {
        return dishonorTime;
    }

    public void setDishonorTime(Date dishonorTime) {
        this.dishonorTime = dishonorTime;
    }

    @Column(name = "MASAPAY_ORDER_ID")
    public String getMasapayOrderId() {
        return masapayOrderId;
    }

    public void setMasapayOrderId(String masapayOrderId) {
        this.masapayOrderId = masapayOrderId;
    }

    @Column(name = "GOPAY_ORDER_ID")
    public String getGopayOrderId() {
        return gopayOrderId;
    }

    public void setGopayOrderId(String gopayOrderId) {
        this.gopayOrderId = gopayOrderId;
    }

    @Column(name = "TRAN_AMT", precision = 20)
    public BigDecimal getTranAmt() {
        return tranAmt;
    }

    public void setTranAmt(BigDecimal tranAmt) {
        this.tranAmt = tranAmt;
    }

    @Column(name = "TRAN_CURRENCY")
    public String getTranCurrency() {
        return tranCurrency;
    }

    public void setTranCurrency(String tranCurrency) {
        this.tranCurrency = tranCurrency;
    }

    @Column(name = "DISHONOR_AMT", precision = 20)
    public BigDecimal getDishonorAmt() {
        return dishonorAmt;
    }

    public void setDishonorAmt(BigDecimal dishonorAmt) {
        this.dishonorAmt = dishonorAmt;
    }

    @Column(name = "DISHONOR_CURRENCY")
    public String getDishonorCurrency() {
        return dishonorCurrency;
    }

    public void setDishonorCurrency(String dishonorCurrency) {
        this.dishonorCurrency = dishonorCurrency;
    }

    @Column(name = "ORDER_FEE_AMT", precision = 20)
    public BigDecimal getOrderFeeAmt() {
        return orderFeeAmt;
    }

    public void setOrderFeeAmt(BigDecimal orderFeeAmt) {
        this.orderFeeAmt = orderFeeAmt;
    }

    @Column(name = "ORDER_FEE_CURRENCY")
    public String getOrderFeeCurrency() {
        return orderFeeCurrency;
    }

    public void setOrderFeeCurrency(String orderFeeCurrency) {
        this.orderFeeCurrency = orderFeeCurrency;
    }

    @Column(name = "APPEAL_FEE_AMT", precision = 20)
    public BigDecimal getAppealFeeAmt() {
        return appealFeeAmt;
    }

    public void setAppealFeeAmt(BigDecimal appealFeeAmt) {
        this.appealFeeAmt = appealFeeAmt;
    }

    @Column(name = "APPEAL_FEE_CURRENCY")
    public String getAppealFeeCurrency() {
        return appealFeeCurrency;
    }

    public void setAppealFeeCurrency(String appealFeeCurrency) {
        this.appealFeeCurrency = appealFeeCurrency;
    }

    @Column(name = "APPEAL_FEE_STATUS")
    public String getAppealFeeStatus() {
        return appealFeeStatus;
    }

    public void setAppealFeeStatus(String appealFeeStatus) {
        this.appealFeeStatus = appealFeeStatus;
    }

    @Column(name = "APPEAL_STATUS")
    public String getAppealStatus() {
        return appealStatus;
    }

    public void setAppealStatus(String appealStatus) {
        this.appealStatus = appealStatus;
    }

    @Column(name = "EXCHANGE_RATE", precision = 20)
    public BigDecimal getExchangeRate() {
        return exchangeRate;
    }

    public void setExchangeRate(BigDecimal exchangeRate) {
        this.exchangeRate = exchangeRate;
    }

    @Column(name = "UPPER_FUND_CHANGE_AMT", precision = 20)
    public BigDecimal getUpperFundChangeAmt() {
        return upperFundChangeAmt;
    }

    public void setUpperFundChangeAmt(BigDecimal upperFundChangeAmt) {
        this.upperFundChangeAmt = upperFundChangeAmt;
    }

    @Column(name = "UPPER_FUND_CHANGE_CURRENCY")
    public String getUpperFundChangeCurrency() {
        return upperFundChangeCurrency;
    }

    public void setUpperFundChangeCurrency(String upperFundChangeCurrency) {
        this.upperFundChangeCurrency = upperFundChangeCurrency;
    }

    @Column(name = "UPPER_FUND_STATUS")
    public String getUpperFundStatus() {
        return upperFundStatus;
    }

    public void setUpperFundStatus(String upperFundStatus) {
        this.upperFundStatus = upperFundStatus;
    }

    @Column(name = "FUND_STATUS")
    public String getFundStatus() {
        return fundStatus;
    }

    public void setFundStatus(String fundStatus) {
        this.fundStatus = fundStatus;
    }

    @Column(name = "TRAN_TYPE")
    public String getTranType() {
        return tranType;
    }

    public void setTranType(String tranType) {
        this.tranType = tranType;
    }

    @Column(name = "DISHONOR_REASON")
    public String getDishonorReason() {
        return dishonorReason;
    }

    public void setDishonorReason(String dishonorReason) {
        this.dishonorReason = dishonorReason;
    }

    @Column(name = "DISHONOR_ORDER_ID")
	public String getDishonorOrderId() {
		return dishonorOrderId;
	}

	public void setDishonorOrderId(String dishonorOrderId) {
		this.dishonorOrderId = dishonorOrderId;
	}

	@Column(name = "DISHONOR_NOTIFY")
	public String getDishonorNotify() {
		return dishonorNotify;
	}

	public void setDishonorNotify(String dishonorNotify) {
		this.dishonorNotify = dishonorNotify;
	}

	@Column(name = "DISHONOR_FAIL_NOTIFY")
	public String getDishonorFailNotify() {
		return dishonorFailNotify;
	}

	public void setDishonorFailNotify(String dishonorFailNotify) {
		this.dishonorFailNotify = dishonorFailNotify;
	}

    @Column(name = "DISHONOR_SETTLE_AMT", precision = 20)
    public BigDecimal getDishonorSettleAmt() {
        return dishonorSettleAmt;
    }

    public void setDishonorSettleAmt(BigDecimal dishonorSettleAmt) {
        this.dishonorSettleAmt = dishonorSettleAmt;
    }
}
